package debtbundler.domain.entity;

/**
 * A <code>Share</code> is what a <code>Person</code>'s share of the value of a 
 * <code>SharedCost</code> <i>should be</i>. When a person's bundled shares of 
 * various costs are bigger than her bundled payments for the costs, she is 
 * indebted to others.
 * 
 * @see Payment
 * @see SharedCost
 * @author Anssi
 * 
 */
public interface Share extends Transaction {
	
	/** 
	 * Returns the person whose share of an sharedCost's pooled costs this is
	 * Equals the return value of <code>getToPool()<code>.
	 * 
	 * @return	the person whose share of an sharedCost's pooled costs this is
	 * 	
	 */
	public Person getPerson();
	
	/** 
	 * Returns the cost, for example food stuff, gas, etc., 
	 * that this share belongs to. Equals the return value of 
	 * <code>getFromPool()<code>.
	 * 
	 * @return	the cost to which this share belongs to
	 */
	public SharedCost getSharedCost();	

}
